SQL中的内连接(inner join)用法

您所在的位置:网站首页 group by cno什么意思 SQL中的内连接(inner join)用法

SQL中的内连接(inner join)用法

2024-07-02 18:05| 来源: 网络整理| 查看: 265

一、什么是内连接(inner join)

`INNER JOIN`是SQL中的一种连接类型,用于将两个或多个表中的记录根据某个条件进行匹配,并返回匹配的记录。它只返回那些在两个表中都有匹配的记录。

以下是一个示例的`INNER JOIN`查询语句:

SELECT table1.column1, table2.column2

FROM table1

INNER JOIN table2

ON table1.common_column = table2.common_column;

二、内连接(inner join)的用法

下面我们使用3个查询示例,讲解内连接(inner join)在查询中的使用场景。

以下是一份学生信息登记表、一份考试成绩表、一份出生地登记表

表1:学生信息登记表

2c3b662901c4421187258035c30e24bd.png

 

表2:部分学生成绩表

8a454e3dc57c49038c5e791988d2a3c0.png

表3:出生地登记表

f210bc086b92452ba01d639e4856a561.png

1、要求查询出参加了考试的学生信息。

使用'学号'作为连接键,连接两个表

SELECT y.学号, y.姓名, y.总分, x.班级, x.入学日期, x.联系电话 FROM 学籍信息 AS x INNER JOIN 部分学生成绩 AS y ON x.学号 = y.学号;

以上语句表示让表“学籍信息”的列“学号”和表“部分学生成绩”的列“学号”作为匹配的连接键。

可以看到使用inner join (内连接)将两个表连接后,对有考试成绩的学生信息进行了补全

7ec4cc742a5a4d08a689375864521a86.png

2、要求查询出考试成绩在90分以上的学生信息。

SELECT y.学号, y.姓名, y.总分, x.班级, x.入学日期, x.联系电话 FROM 学籍信息 AS x INNER JOIN 部分学生成绩 AS y ON x.学号 = y.学号 where 总分 >= 90;

以上查询通过设置where过滤条件,查询出了总分大于90分的学生信息。

1c4c0d7e25f44d9fbc9a2c61fb578101.png3、要求查询出考试成绩在90分以上学生的户籍地。

SELECT y.学号, y.姓名, y.总分, x.班级, x.入学日期, x.联系电话, z.户口性质, z.户籍地 FROM 学籍信息 AS x INNER JOIN 部分学生成绩 AS y ON x.学号 = y.学号 inner join 出生地 as z on x.学号 = z.学号 where 总分 >= 90;

以上查询通过连接3个表,设置where过滤条件,查询出了总分大于90分的学生信息。

b31a9a09bc0a448088eeea820aceb5d1.png

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3